{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Historical Wildfire Analysis\n",
    "\n",
    "\n",
    "Spatial wildfire occurrence data, referred to as the **Fire Program Analysis fire-occurrence database (FPA FOD)**, for the United States, 1992-2015 was obtained from https://www.fs.usda.gov/rds/archive/Product/RDS-2013-0009.4/. The dataset contains data on:\n",
    "* 1.88 Million US Wildfires\n",
    "* 24 years of geo-referenced wildfire records"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "toc": true
   },
   "source": [
    "<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n",
    "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Historical-Wildfire-Analysis\" data-toc-modified-id=\"Historical-Wildfire-Analysis-1\"><span class=\"toc-item-num\">1&nbsp;&nbsp;</span>Historical Wildfire Analysis</a></span><ul class=\"toc-item\"><li><ul class=\"toc-item\"><li><span><a href=\"#Given-this-data,-can-we-answer-the-following-questions?\" data-toc-modified-id=\"Given-this-data,-can-we-answer-the-following-questions?-1.0.1\"><span class=\"toc-item-num\">1.0.1&nbsp;&nbsp;</span>Given this data, can we answer the following questions?</a></span></li><li><span><a href=\"#Exploratory-Data-Analysis\" data-toc-modified-id=\"Exploratory-Data-Analysis-1.0.2\"><span class=\"toc-item-num\">1.0.2&nbsp;&nbsp;</span>Exploratory Data Analysis</a></span></li><li><span><a href=\"#Have-wildfires-become-more-frequent-over-time?\" data-toc-modified-id=\"Have-wildfires-become-more-frequent-over-time?-1.0.3\"><span class=\"toc-item-num\">1.0.3&nbsp;&nbsp;</span>Have wildfires become more frequent over time?</a></span></li><li><span><a href=\"#What-are-the-causes-of-wildfire?\" data-toc-modified-id=\"What-are-the-causes-of-wildfire?-1.0.4\"><span class=\"toc-item-num\">1.0.4&nbsp;&nbsp;</span>What are the causes of wildfire?</a></span></li><li><span><a href=\"#Does-the-day-of-week-matter?\" data-toc-modified-id=\"Does-the-day-of-week-matter?-1.0.5\"><span class=\"toc-item-num\">1.0.5&nbsp;&nbsp;</span>Does the day of week matter?</a></span></li></ul></li><li><span><a href=\"#Mapping-and-Spatial-Analysis\" data-toc-modified-id=\"Mapping-and-Spatial-Analysis-1.1\"><span class=\"toc-item-num\">1.1&nbsp;&nbsp;</span>Mapping and Spatial Analysis</a></span></li><li><span><a href=\"#Can-Machine-Learning-categorize-the-cause-of-the-fire?\" data-toc-modified-id=\"Can-Machine-Learning-categorize-the-cause-of-the-fire?-1.2\"><span class=\"toc-item-num\">1.2&nbsp;&nbsp;</span>Can Machine Learning categorize the cause of the fire?</a></span><ul class=\"toc-item\"><li><span><a href=\"#Feature-Engineering:-Use-geoenrichment-to-add-features\" data-toc-modified-id=\"Feature-Engineering:-Use-geoenrichment-to-add-features-1.2.1\"><span class=\"toc-item-num\">1.2.1&nbsp;&nbsp;</span>Feature Engineering: Use geoenrichment to add features</a></span></li><li><span><a href=\"#Fit-Random-Forest-classifier-and-check-accuracy\" data-toc-modified-id=\"Fit-Random-Forest-classifier-and-check-accuracy-1.2.2\"><span class=\"toc-item-num\">1.2.2&nbsp;&nbsp;</span>Fit Random Forest classifier and check accuracy</a></span></li></ul></li></ul></li></ul></div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Given this data, can we answer the following questions?\n",
    "* **Are wildfires increasing over time?**\n",
    "* **Where are the fire hot spots?**\n",
    "* **Can Machine Learning categorize the cause of the fire given the size, location and date?**\n",
    "\n",
    "That would give investigators a data driven way to prioritize cases for further investigation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from arcgis import *\n",
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "gis = GIS(profile='deldev.maps')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "from arcgis.features import GeoAccessor, GeoSeriesAccessor\n",
    "\n",
    "wildfires_df = pd.DataFrame.spatial.from_featureclass(r'C:\\demo\\FPA_FOD_20170508.gdb\\Fires')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1880465, 39)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "wildfires_df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = wildfires_df[['FIRE_YEAR', 'DISCOVERY_DATE', 'DISCOVERY_DOY',\n",
    "       'STAT_CAUSE_DESCR', 'FIRE_SIZE', 'STATE', 'FIPS_CODE', 'FIPS_NAME', 'SHAPE']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FIRE_YEAR</th>\n",
       "      <th>DISCOVERY_DATE</th>\n",
       "      <th>DISCOVERY_DOY</th>\n",
       "      <th>STAT_CAUSE_DESCR</th>\n",
       "      <th>FIRE_SIZE</th>\n",
       "      <th>STATE</th>\n",
       "      <th>FIPS_CODE</th>\n",
       "      <th>FIPS_NAME</th>\n",
       "      <th>SHAPE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2005</td>\n",
       "      <td>2005-02-02</td>\n",
       "      <td>33</td>\n",
       "      <td>Miscellaneous</td>\n",
       "      <td>0.10</td>\n",
       "      <td>CA</td>\n",
       "      <td>063</td>\n",
       "      <td>Plumas</td>\n",
       "      <td>{'x': -121.00583333000003, 'y': 40.03694443999...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2004</td>\n",
       "      <td>2004-05-12</td>\n",
       "      <td>133</td>\n",
       "      <td>Lightning</td>\n",
       "      <td>0.25</td>\n",
       "      <td>CA</td>\n",
       "      <td>061</td>\n",
       "      <td>Placer</td>\n",
       "      <td>{'x': -120.40444444000002, 'y': 38.93305556000...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2004</td>\n",
       "      <td>2004-05-31</td>\n",
       "      <td>152</td>\n",
       "      <td>Debris Burning</td>\n",
       "      <td>0.10</td>\n",
       "      <td>CA</td>\n",
       "      <td>017</td>\n",
       "      <td>El Dorado</td>\n",
       "      <td>{'x': -120.73555555999997, 'y': 38.98416666999...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2004</td>\n",
       "      <td>2004-06-28</td>\n",
       "      <td>180</td>\n",
       "      <td>Lightning</td>\n",
       "      <td>0.10</td>\n",
       "      <td>CA</td>\n",
       "      <td>003</td>\n",
       "      <td>Alpine</td>\n",
       "      <td>{'x': -119.91333333, 'y': 38.55916666999997, '...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2004</td>\n",
       "      <td>2004-06-28</td>\n",
       "      <td>180</td>\n",
       "      <td>Lightning</td>\n",
       "      <td>0.10</td>\n",
       "      <td>CA</td>\n",
       "      <td>003</td>\n",
       "      <td>Alpine</td>\n",
       "      <td>{'x': -119.93305555999996, 'y': 38.55916666999...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   FIRE_YEAR DISCOVERY_DATE  DISCOVERY_DOY STAT_CAUSE_DESCR  FIRE_SIZE STATE  \\\n",
       "0       2005     2005-02-02             33    Miscellaneous       0.10    CA   \n",
       "1       2004     2004-05-12            133        Lightning       0.25    CA   \n",
       "2       2004     2004-05-31            152   Debris Burning       0.10    CA   \n",
       "3       2004     2004-06-28            180        Lightning       0.10    CA   \n",
       "4       2004     2004-06-28            180        Lightning       0.10    CA   \n",
       "\n",
       "  FIPS_CODE  FIPS_NAME                                              SHAPE  \n",
       "0       063     Plumas  {'x': -121.00583333000003, 'y': 40.03694443999...  \n",
       "1       061     Placer  {'x': -120.40444444000002, 'y': 38.93305556000...  \n",
       "2       017  El Dorado  {'x': -120.73555555999997, 'y': 38.98416666999...  \n",
       "3       003     Alpine  {'x': -119.91333333, 'y': 38.55916666999997, '...  \n",
       "4       003     Alpine  {'x': -119.93305555999996, 'y': 38.55916666999...  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### Exploratory Data Analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "df['x'] = df.SHAPE.apply(lambda g: g['x'])\n",
    "df['y'] = df.SHAPE.apply(lambda g: g['y'])\n",
    "smdf = wildfires_df[['FIRE_YEAR', 'DISCOVERY_DATE', 'DISCOVERY_DOY',\n",
    "       'STAT_CAUSE_DESCR', 'FIRE_SIZE', 'STATE', 'FIPS_CODE', 'FIPS_NAME', 'x', 'y']]\n",
    "smdf.to_pickle('fires.pkl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "pd.options.mode.chained_assignment = None \n",
    "\n",
    "df['MONTH'] = pd.DatetimeIndex(df['DISCOVERY_DATE']).month\n",
    "df['DAY_OF_WEEK'] = df['DISCOVERY_DATE'].dt.dayofweek\n",
    "df_arson = df[df['STAT_CAUSE_DESCR']=='Arson']\n",
    "dfa = df_arson['DAY_OF_WEEK'].value_counts()\n",
    "df_lightning = df[df['STAT_CAUSE_DESCR']=='Lightning']\n",
    "dfl = df_lightning['DAY_OF_WEEK'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.style.use('ggplot')\n",
    "sorted_df = df.sort_values('FIRE_YEAR')\n",
    "fire_freq = sorted_df.groupby('FIRE_YEAR').count()\n",
    "x = np.asarray(fire_freq.axes[0])\n",
    "y = np.asarray(df.groupby('FIRE_YEAR').size())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 247,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"item_container\" style=\"height: auto; overflow: hidden; border: 1px solid #cfcfcf; border-radius: 2px; background: #f6fafa; line-height: 1.21429em; padding: 10px;\">\n",
       "                    <div class=\"item_left\" style=\"width: 210px; float: left;\">\n",
       "                       <a href='https://deldev.maps.arcgis.com/home/item.html?id=c283ab9ab48648c19539a616fc858243' target='_blank'>\n",
       "                        <img src='http://static.arcgis.com/images/desktopapp.png' class=\"itemThumbnail\">\n",
       "                       </a>\n",
       "                    </div>\n",
       "\n",
       "                    <div class=\"item_right\"     style=\"float: none; width: auto; overflow: hidden;\">\n",
       "                        <a href='https://deldev.maps.arcgis.com/home/item.html?id=c283ab9ab48648c19539a616fc858243' target='_blank'><b>Demographic Profile</b>\n",
       "                        </a>\n",
       "                        <br/><img src='https://deldev.maps.arcgis.com/home/js/jsapi/esri/css/images/item_type_icons/featureshosted16.png' style=\"vertical-align:middle;\">Feature Layer Collection by deldev\n",
       "                        <br/>Last Modified: March 02, 2018\n",
       "                        <br/>0 comments, 0 views\n",
       "                    </div>\n",
       "                </div>\n",
       "                "
      ],
      "text/plain": [
       "<Item title:\"Demographic Profile\" type:Feature Layer Collection owner:deldev>"
      ]
     },
     "execution_count": 247,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lyr = gis.content.search('Demographic Profile')[0]\n",
    "lyr"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### Have wildfires become more frequent over time?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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5GQVFBS02riuRC11rBBYl3qcoqOj1bdvX4WGhtaow6MWA6+ljpWtCGxosu7du2vz5s2SpE2bNvlvctyzZ09t3rxZlZWVKioq0t69e3X06FH/65YtW6Znn31Wa9askeGal4ApKirSvn371LdvXx0/ftx/02m3260TJ05IOvf4t9jYWP9rqh7/duFj4TweD4+FC6DmHCtJKi8v15w5c/TCCy/o008/vfwDaCMac5zqw6MWL6/mHKsq8+bN0+zZs/1PUmptrGFDkz355JPKzs7WmjVrlJqaqrCwc3+dRo0apYMHD2rOnDmKi4tT//79/b/BTJs2TR6PR2fOnNHChQuVl5fn/80HLefs2bNauHChJkyYoMjIyHr3qyswO45T5771taN5WuJYLVu2TB6PR19//bX+/d//XT169FCXLl0C1ue2qLHHqT6X8rOG5mnusZKkV199VR6PR8ePH9ePfvQjxcfHa+DAgS3c00tDYEOTJSQk6MUXX5R07vToli1bJJ274fGECRP8+7344ovq2rWrpHMzNdK56epbbrlFhYWFBLYWVlFRoYULF+rWW2/VjTfeKOnc1H9JSYncbrdKSkrUsWNHSed+y68++1n1+DePx6OdO3f6271eb6v/Y3UlaoljJf3j56pz584aOHCg9u/fT2BrQZdynOrT2Ectonla4lhJ//iZio6O1tChQ1VYWNjq/wZyShRNdvz4cUmSz+fT+++/r3/6p3+SJH377bc6e/asJGn79u0KDQ1Vt27dVFlZ6Z+Krqio0GeffcaTK1qYMUavv/66EhISdOedd/rbU1NTtWHDBknShg0bNHToUH97Xl6ejDHavXu3IiMj5Xa7lZKSom3btqm0tFSlpaXatm2bUlJSWmVMV6qWOlalpaUqLy+XJJ04cUK7du1St27dLv+ArlCXepzqw6MWA6+ljtXZs2d15swZ/+fbt2/3X4XdmrhxLhpl8eLF2rlzp06ePKno6GiNHz9eZ8+e1R//+EdJ0g033KAHHnhAjuOoqKhI8+bNU0hIiDwej5544gnFxcXp7NmzeuWVV1RZWSmfz6ekpCQ98sgjCgnh94aW8sUXX+jll19Wjx49/Kdb7r//fvXr10+ZmZk6evSoYmNjNWvWLP+tIlauXKlt27YpPDxcU6dOVZ8+fSRJubm5Wrt2raRzt/UYNWpUq43rStRSx2rXrl1a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XqPWdDX0vZSkKVOmKDs7W5WVlaqoqNBbb72lxx57rMGaU6ZM0XvvvaeSkhJJ0ooVK/TII48oPDzcP561a9fWGEtMTIzOnj3rH8/p06c1Z84cDRo0SB6PRy6XS3/4wx9qrZ+8/vrrFRLCfztAU4S1dgcABFZiYqKmTJmi2bNn68MPP6zxtar/PI0xNdrrWtTfrl27i7Y5jiOfz9dgf4wxchxHkuTz+TRgwACtXbu21n6RkZE1tqOiohqsW70P9b1fIFzYr8aMKSUlRfv27dOf/vQnffTRR5o+fbpeeuklbdq0SR07dmz0e184tocfflizZ8/W73//e/l8Ph0/flwPPfRQgzX+5V/+RZ07d9aqVas0YsQIffbZZ3r77bdrjOfhhx/WnDlzar02JiZGkvTss8/qgw8+0KJFi9S/f39FRUXpX//1X3X8+PEa+zf2GAKojcAGtAGvvPKKVq1apeXLl9dor7r68dChQ/62oqIi/f3vf2+x9960aZNuv/12//Ynn3yiAQMGSJJSU1P1y1/+Uh07dlSnTp2a9T59+/ZV+/bttWHDBg0aNMjfnpeXV2M70Bo7JpfLpbvvvlt333235s6dq65du2rDhg2666676n3Npk2bNHXqVP929e+lJHXs2FH33XefVqxYIZ/Pp+9///u6+uqrG+xvSEiIJk+erBUrVmjXrl0aMWJEjQsRUlNTtX37dvXp06fe4JuXl6cHH3xQ48ePl3Qu5O3evVudO3du8L0BNB6BDWgD4uLiNGfOHL366qs12iMiIjR8+HD95Cc/0bXXXquKigq98MILat++fYu998qVK3XttdcqNTVVq1ev1ieffKIlS5ZIkh588EFlZmbqjjvu0Lx585SYmKivv/5aubm5GjBggMaOHdvo94mMjNS0adP00ksvKS4uTikpKXr33Xf1wQcf6E9/+lOLjediGjOmn/70p4qPj1dKSooiIyP161//WqGhoUpMTGyw9u9+9zu99tpr+u53v6v/+Z//0X/913/p3XffrbHPlClT/KdON2zY0Kg+P/roo/q3f/s37d69W2+++WaNr82dO1c33HCDHnroIU2fPl1xcXHav3+/1q1bp+nTp6t3797q37+/PvjgA40bN04ul0uLFi3SoUOHCGxAC2IxAdBGzJw5U7GxsbXa33zzTblcLg0bNkz33XefHn/8cXXt2rXF3nfBggVavny5kpOTtWrVKq1evVpDhgyRdO5ecRs2bFBqaqomTpyoxMREZWRk6NNPP9U111xzye81b948PfbYY5oxY4YGDRqk1atXa/Xq1RozZkyLjediGjOmjh07atGiRbr55puVlJSktWvX6r333qvzFhvVvfzyy8rJydF1112n+fPn6yc/+YnuvvvuGvsMHTpUSUlJ6t+/v4YPH96oPnft2lV33nmnXC6Xxo0bV+NrAwYM0MaNG1VaWqrvfve7GjhwoB577DGdOXPGP3uXmZmpa665RqNGjdKYMWOUkJDADYaBFuaYCxevAACCVnl5uXr27KnnnntO06dPb/TrbrjhBg0fPlyZmZkB7B2ApuKUKABcAXw+n77++mv9/Oc/16lTpzRx4sRGva6oqEhr167Vli1bat3UGIA9CGwAcAX429/+pl69eqlr16568803G321aefOneV2u5WVlaXevXsHuJcAmopTogAAAJbjogMAAADLEdgAAAAsR2ADAACwHIENAADAcgQ2AAAAyxHYAAAALPf/ARlpwmYcw7JKAAAAAElFTkSuQmCC",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x24b8cf0da20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(10,6))\n",
    "ax.bar(x, y, color='coral')\n",
    "plt.title('Number of fires by year', y=-0.2)\n",
    "fit1 = np.polyfit(x, y, deg=1)\n",
    "ax.plot(x, x*fit1[0] + fit1[1], color='teal', linewidth=4);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### What are the causes of wildfire?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "distribution = df['STAT_CAUSE_DESCR'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x24b88ce0908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(6,6))\n",
    "plt.title('Distribution by cause', y=-0.15)\n",
    "plt.pie(distribution, labels=list(distribution.index[:-2]) + ['', '']);\n",
    "plt.axis('equal');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### Does the day of week matter?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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dOmioUOHVho3xriD2W9PZVZl1apVio2NVUBAgGJjY7Vq1aoKrzscDq1cuVIvvviiHA6HRo0aJany6cQ2bdro4Ycf1oQJExQREaEBAwZIkoqKinTfffcpOjpaQUFB6t69u95+++0K25g1a5batWsnf39/NWvWTEOGDFFJSckp6y4pKdHYsWMVGhqqyMhITZ8+XS6XS5I0Y8YMderUqdJ7Ro8eraSkpGrXefToUd19991q0qSJwsLCdPfdd+vo0aMV5mzatElXXnmlmjdvLqfTqUsuuUQfffSR+/XT3faxY8f04IMPKjo6Wn5+frrooov02muvuV9v06aNlixZovT0dDkcDsXHx1e5nksvvVQPP/xwhXocDofS0tLcY/3799f06dPdy5988on69++vwMBARUdHa/To0crPz6+w3tdff13dunVTQECA2rRpo+TkZBUXF1e7P1lZWWrZsqUeeOABGWOqnQdAkgFwThk3bpyJjY11L995551m0qRJ5q233qo03qVLF/fy0qVLjbe3t3t51apVRpLZs2ePMcaYffv2maCgIDNq1CiTnZ1t/v3vf5uuXbsaSebll182xhiTm5tr+vbta2699VaTm5trfv75Z2OMMTExMeaxxx5zrzsmJsaEhISYGTNmmJycHJOdnW1cLpeJj483gwYNMp9++qnZuXOn+d///V/j6+tr0tLSjDHGvPXWWyYkJMS89957Zvfu3Wbz5s0mJSXFHDlypNp+nNzWX/7yF7N161azbNkyExQUZBYsWGCMMWbPnj3G29vbZGRkuN9z6NAhExwcbF5//fVq1ztp0iTTrFkzs2LFCvPdd9+ZBx54wISEhJj27dtX6OHSpUvNN998Y3JycsxDDz1kfH19TU5Ozu/a9p///GcTHh5u3njjDZOTk2NmzpxpHA6Hu095eXlmxIgRZsCAASY3N9fk5+dXuZ6//OUvJi4uzr186aWXmmbNmplp06YZY4w5fPiw8fX1NZ988okxxpiVK1eawMBAk5qaarZt22a+/PJLEx8fbwYMGGBcLpcx5sTvUdOmTc2yZcvMzp07zerVq03Xrl3N7bff7t7OoEGDzJgxY4wxxqSlpZkmTZqYOXPmVLu/AP4/ghlwjvnHP/5hHA6HycvLM8YY0759e/Puu++agwcPGm9v7wrjkyZNcr+vpmD20EMPmdatW5tjx46557z//vsVgpkxFT90T6oqmCUkJFSYs2rVKuPv7+8OcyeNHj3aDB061BhjzPz58835559vysrKat2PmJgYc+mll1YYmzZtmjnvvPPcy9dee6257bbb3MvPP/+8iYyMNEePHq1ynUVFRcbf39/87W9/qzDes2fPCsGsKrGxsebxxx8/7W0XFxcbPz8/s2jRogrjw4YNM4MHD3Yv33HHHSYxMfGUtaSnpxtvb2/zyy+/uNc7d+5c06dPH2OMMR988IHx9/d3B99BgwaZqVOnVljH7t27jSSzefNmY8yJfj/33HMV5qxevdpIMgUFBe71jBkzxrz22msmODi4wu8PgFPjVCZwjklISJB04rTj7t279cMPP2jQoEGKiIhQly5d3OM7d+485emy3/r222/Vu3fvCqc7L7300tOus3fv3hWW169fr7KyMkVHR8vpdLr/e+WVV7R9+3ZJ0ogRI3Ts2DHFxMRo1KhRevnllyvd0FCVvn37Vlju37+/9u7dq0OHDkmSxo8fr7feekuFhYWSpMWLF+uOO+6Qn59flevbuXOnjh49qn79+lUY/20/Dhw4oAkTJuiCCy5Q06ZN5XQ6lZ2drd27d7vn1HXbO3bsUFlZmQYOHFhhfNCgQcrOzq6pFRX069dPvr6+yszM1KeffqqYmBj98Y9/1KZNm3To0CGlp6crLi5OgYGBkk78P1qwYEGF/z8XXXSRpBPXtB04cEC7d+9WcnJyhTlXXnmlu/aTPvroI91+++16/fXXdfvtt9epbqAxO/UFJwCsExkZqYsvvlgrV65UUVGRevTooSZNmkiSBg8e7B738fGp9OF+KsYY9+MvTvrtcl389mYAl8ulJk2aaP369ZXmngwp0dHR2rp1q1atWqX09HQ99thjmjp1qr744os63XVofnMd05VXXqmoqCi9/PLLGjhwoDZu3KhXX321xvfXtP+jRo3Sf/7zHz311FNq27atAgMD9Yc//KHCzQ513fZJv912Vf9/auLv76++fftq5cqV8vPzU0JCgpo1a6ZOnTopMzNT6enpGjp0qHu+y+XS1KlTNXLkyErratGihfs6sqefflqDBw+uNOe8885z/9ylSxcFBARo8eLFuvzyy6sNogAqIpgB56DExEStWLFCRUVF7iNo0olglpycrKKiIvXp00chISG1Xmfnzp318ssvq7y83H2H32effXbGau7Vq5d+/vlnlZaWqkuXLtXO8/f31xVXXKErrrhCjz32mKKiorRixQpNnDix2vesW7euwvLnn3+u6OhohYaGSpK8vLw0duxYLV68WDk5ORo4cGCVF+Wf1KFDB/n5+WnNmjXuI0aStHbt2grzMjMz9dRTT+m6666TJBUXF2vXrl0V9u90tu3v76/Vq1erc+fOFbb16+XaSkhI0Jtvvik/Pz9NmTLFPfbWW28pKytLTz/9tHtur169lJ2dXe2z2pxOp1q1aqWcnBzdeeedp9zueeedpxdffFEJCQm6/vrr9fbbb8vf37/O9QONDacygXNQYmKidu7cqffff79CMBs4cKC+//57vf/+++67MWvr7rvv1oEDBzRu3Dh99913WrlypR566KEzVnNCQoKSkpI0fPhwrVixQrt27dLGjRv1zDPPaPHixZJOPKdt8eLF2rJli3bv3q1XX31Vhw8frhCOqpKVlaVHHnlE27Zt02uvvaann35aDzzwQIU5Y8aM0datW/XCCy9o3Lhxp1xfcHCw7rrrLj388MN67733lJOToylTpmjr1q0V5nXq1Emvvvqqvv76a2VlZemWW25ReXl5pfXVZdtBQUG699579Ze//EVvvvmmtm/frlmzZundd9+tcPdkbQ0ePNhd38mjXAkJCXrllVcUGBioPn36uOc++uijevfdd5WcnKysrCzt3LlTH330kcaMGeO+M3bmzJlKTU3VzJkz9c033ygnJ0crVqzQ+PHjK227ZcuWysjI0A8//KDrrruuxrtrAYi7MoFzUVFRkfH19TW+vr6muLi4wms9e/Y0kkxmZmaF8Zou/jfmxB10Xbp0MX5+fqZz585m5cqVp33x/6+XTzpy5IiZOnWqadOmjfH19TVRUVFmyJAhZuXKlcaYE3dl9u3b1zRt2tQEBgaazp07mxdeeOGUvYiJiTHTp083o0aNMiEhISY8PNxMnTrVlJeXV5o7bNgwEx4ebkpKSk65zpO1jhs3zoSGhprQ0FBz5513mgcffLDCxf9fffWV6du3rwkICDAxMTFm0aJFJjEx0dxxxx2/a9tlZWVm6tSppmXLlsbX19dceOGF5tVXX60wpzYX/59cl9PprHDHbmFhofH29jZDhgypND8zM9MkJiYap9NpgoKCzAUXXGDuu+++CjeFvPPOOyYuLs4EBgaakJAQc/HFF5v/+Z//cb/+29+RvLw8ExsbaxISEir9vgKoyGEMD5UB0Dj07t1b/fv3V0pKSqPaNoBzB9eYAWjw8vLy9M4772jTpk16/fXXG822AZx7CGYAGryoqCiFhYUpNTVV7dq1azTbBnDu4VQmAACAJbgrEwAAwBIEMwAAAEsQzAAAACxBMAMAALAEwQwAAMAS/w9+x0uO5xRg7QAAAABJRU5ErkJggg==",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x24b8bf83cc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ind = np.arange(7) \n",
    "width = 0.35       \n",
    "\n",
    "fig, ax   = plt.subplots(figsize=(10,6))\n",
    "arson     = ax.bar(ind, dfa.sort_index(), width, color='coral')\n",
    "lightning = ax.bar(ind + width, dfl.sort_index(), width, color='teal')\n",
    "\n",
    "ax.set_title('Wildfires by day of week', y=-0.15)\n",
    "ax.set_xticklabels(('', 'Mon', 'Tues', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'))\n",
    "ax.legend((arson[0], lightning[0]), ('Arson', 'Lightning'), loc=2);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "## Mapping and Spatial Analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "wildfires = gis.content.import_data(wildfires_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "from arcgis.features.analysis import find_hot_spots\n",
    "hotspots = find_hot_spots(wildfires, 20, 'Miles', output_name='Hot Spots US_Historical_Wildfires_20')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "hotspots = gis.content.get('8f9e60e114c749a9864e4adb9643d096')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "548ce2a5b9664ff0834fbe18d702eecc"
      }
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "usmap = gis.map('United States')\n",
    "usmap.content.add(hotspots)\n",
    "usmap"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "## Can Machine Learning categorize the cause of the fire?\n",
    "\n",
    "Since **arson** is a significant preventable cause for many wildfires, it would be instructive to see if Machine Learning techniques can be used to classify if a fire was caused due to arson given some basic data that is available when the fire is first discovered or when investigations begin. This can be framed as a **binary classification** problem.\n",
    "\n",
    "Such a technique could give investigators a data driven way to prioritize cases for further investigation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn import tree, preprocessing\n",
    "import sklearn.ensemble as ske\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "%matplotlib inline\n",
    "%config IPCompleter.greedy=True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "df = pd.read_pickle('fires.pkl')\n",
    "\n",
    "df['MONTH'] = pd.DatetimeIndex(df['DISCOVERY_DATE']).month\n",
    "df['DAY_OF_WEEK'] = df['DISCOVERY_DATE'].dt.dayofweek\n",
    "\n",
    "ca_fires = df[df.STATE=='CA']\n",
    "ca_fires['ARSON'] = ca_fires['STAT_CAUSE_DESCR'].apply(lambda x: 1 if x == 'Arson' else 0) \n",
    "\n",
    "pdf = ca_fires[ ['FIRE_YEAR', 'DISCOVERY_DOY', 'FIPS_CODE', 'FIRE_SIZE', 'x', 'y', 'MONTH', 'DAY_OF_WEEK', 'ARSON'] ]\n",
    "pdf = pdf.dropna()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### Feature Engineering: Use geoenrichment to add features"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **Note:** Organizations should review the [data attributions](https://www.esri.com/en-us/legal/terms/data-attributions) and [Master Agreement](https://www.esri.com/content/dam/esrisites/en-us/media/legal/ma-full/ma-full.pdf) to make sure they are in compliance when geoenriching data and making it available to other systems."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 206,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "analysis_variables = [\n",
    "    'TOTPOP_CY',  # 2016 Population: Total Population (Esri)\n",
    "    'HHPOP_CY',   # 2016 Household Population (Esri)\n",
    "    'FAMPOP_CY',  # 2016 Family Population (Esri)\n",
    "    'DIVINDX_CY', # 2016 Diversity Index (Esri)\n",
    "    'TOTHH_CY',   # 2016 Total Households (Esri)\n",
    "    'AVGHHSZ_CY', # 2016 Average Household Size (Esri)\n",
    "\n",
    "    'MALES_CY',   # 2016 Gender: Male Population (Esri)\n",
    "    'FEMALES_CY', # 2016 Gender: Female Population (Esri)\n",
    "    \n",
    "    'MEDAGE_CY',  # 2016 Age: Median Age (Esri)\n",
    "    \n",
    "    'AVGFMSZ_CY', # 2016 Income: Average Family Size (Esri)\n",
    "    'MEDHINC_CY', # 2016 Income: Median Household Income (Esri)\n",
    "    'AVGHINC_CY', # 2016 Income: Average Household Income (Esri)\n",
    "        \n",
    "    'EDUCBASECY', # 2016 Educational Attainment Base (Esri)\n",
    "    'NOHS_CY',    # 2016 Education: Less than 9th Grade (Esri)\n",
    "    'SOMEHS_CY',  # 2016 Education: 9-12th Grade/No Diploma (Esri)\n",
    "    'HSGRAD_CY',  # 2016 Education: High School Diploma (Esri)\n",
    "    'GED_CY',     # 2016 Education: GED/Alternative Credential (Esri)\n",
    "    'SMCOLL_CY',  # 2016 Education: Some College/No Degree (Esri)\n",
    "    'ASSCDEG_CY', # 2016 Education: Associate's Degree (Esri)\n",
    "    'BACHDEG_CY', # 2016 Education: Bachelor's Degree (Esri)\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 239,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FIRE_YEAR</th>\n",
       "      <th>DISCOVERY_DOY</th>\n",
       "      <th>FIPS_CODE</th>\n",
       "      <th>FIRE_SIZE</th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "      <th>MONTH</th>\n",
       "      <th>DAY_OF_WEEK</th>\n",
       "      <th>ARSON</th>\n",
       "      <th>TOTPOP_CY</th>\n",
       "      <th>...</th>\n",
       "      <th>MEDHINC_CY</th>\n",
       "      <th>AVGHINC_CY</th>\n",
       "      <th>EDUCBASECY</th>\n",
       "      <th>NOHS_CY</th>\n",
       "      <th>SOMEHS_CY</th>\n",
       "      <th>HSGRAD_CY</th>\n",
       "      <th>GED_CY</th>\n",
       "      <th>SMCOLL_CY</th>\n",
       "      <th>ASSCDEG_CY</th>\n",
       "      <th>BACHDEG_CY</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2005</td>\n",
       "      <td>33</td>\n",
       "      <td>063</td>\n",
       "      <td>0.1</td>\n",
       "      <td>-121.005833</td>\n",
       "      <td>40.036944</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>19292</td>\n",
       "      <td>...</td>\n",
       "      <td>45275</td>\n",
       "      <td>66596</td>\n",
       "      <td>14802</td>\n",
       "      <td>447</td>\n",
       "      <td>909</td>\n",
       "      <td>3153</td>\n",
       "      <td>415</td>\n",
       "      <td>4803</td>\n",
       "      <td>1672</td>\n",
       "      <td>2048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2005</td>\n",
       "      <td>153</td>\n",
       "      <td>063</td>\n",
       "      <td>2.3</td>\n",
       "      <td>-120.451111</td>\n",
       "      <td>39.817222</td>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>19292</td>\n",
       "      <td>...</td>\n",
       "      <td>45275</td>\n",
       "      <td>66596</td>\n",
       "      <td>14802</td>\n",
       "      <td>447</td>\n",
       "      <td>909</td>\n",
       "      <td>3153</td>\n",
       "      <td>415</td>\n",
       "      <td>4803</td>\n",
       "      <td>1672</td>\n",
       "      <td>2048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2005</td>\n",
       "      <td>234</td>\n",
       "      <td>063</td>\n",
       "      <td>0.5</td>\n",
       "      <td>-121.147500</td>\n",
       "      <td>39.872222</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>19292</td>\n",
       "      <td>...</td>\n",
       "      <td>45275</td>\n",
       "      <td>66596</td>\n",
       "      <td>14802</td>\n",
       "      <td>447</td>\n",
       "      <td>909</td>\n",
       "      <td>3153</td>\n",
       "      <td>415</td>\n",
       "      <td>4803</td>\n",
       "      <td>1672</td>\n",
       "      <td>2048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2005</td>\n",
       "      <td>241</td>\n",
       "      <td>063</td>\n",
       "      <td>0.1</td>\n",
       "      <td>-120.903889</td>\n",
       "      <td>39.962222</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>19292</td>\n",
       "      <td>...</td>\n",
       "      <td>45275</td>\n",
       "      <td>66596</td>\n",
       "      <td>14802</td>\n",
       "      <td>447</td>\n",
       "      <td>909</td>\n",
       "      <td>3153</td>\n",
       "      <td>415</td>\n",
       "      <td>4803</td>\n",
       "      <td>1672</td>\n",
       "      <td>2048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2005</td>\n",
       "      <td>242</td>\n",
       "      <td>063</td>\n",
       "      <td>1.0</td>\n",
       "      <td>-120.706667</td>\n",
       "      <td>40.056944</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>19292</td>\n",
       "      <td>...</td>\n",
       "      <td>45275</td>\n",
       "      <td>66596</td>\n",
       "      <td>14802</td>\n",
       "      <td>447</td>\n",
       "      <td>909</td>\n",
       "      <td>3153</td>\n",
       "      <td>415</td>\n",
       "      <td>4803</td>\n",
       "      <td>1672</td>\n",
       "      <td>2048</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 29 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   FIRE_YEAR  DISCOVERY_DOY FIPS_CODE  FIRE_SIZE           x          y  \\\n",
       "0       2005             33       063        0.1 -121.005833  40.036944   \n",
       "1       2005            153       063        2.3 -120.451111  39.817222   \n",
       "2       2005            234       063        0.5 -121.147500  39.872222   \n",
       "3       2005            241       063        0.1 -120.903889  39.962222   \n",
       "4       2005            242       063        1.0 -120.706667  40.056944   \n",
       "\n",
       "   MONTH  DAY_OF_WEEK  ARSON  TOTPOP_CY     ...      MEDHINC_CY  AVGHINC_CY  \\\n",
       "0      2            2      0      19292     ...           45275       66596   \n",
       "1      6            3      0      19292     ...           45275       66596   \n",
       "2      8            0      0      19292     ...           45275       66596   \n",
       "3      8            0      0      19292     ...           45275       66596   \n",
       "4      8            1      0      19292     ...           45275       66596   \n",
       "\n",
       "   EDUCBASECY  NOHS_CY  SOMEHS_CY  HSGRAD_CY  GED_CY  SMCOLL_CY  ASSCDEG_CY  \\\n",
       "0       14802      447        909       3153     415       4803        1672   \n",
       "1       14802      447        909       3153     415       4803        1672   \n",
       "2       14802      447        909       3153     415       4803        1672   \n",
       "3       14802      447        909       3153     415       4803        1672   \n",
       "4       14802      447        909       3153     415       4803        1672   \n",
       "\n",
       "   BACHDEG_CY  \n",
       "0        2048  \n",
       "1        2048  \n",
       "2        2048  \n",
       "3        2048  \n",
       "4        2048  \n",
       "\n",
       "[5 rows x 29 columns]"
      ]
     },
     "execution_count": 239,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from arcgis.geoenrichment import *\n",
    "\n",
    "usa = Country.get('US')\n",
    "counties = usa.subgeographies.states['California'].counties\n",
    "\n",
    "enrich_df = enrich(list(counties.values()), analysis_variables=analysis_variables)\n",
    "\n",
    "pdf['StdGeographyID'] = '06' + pdf['FIPS_CODE']\n",
    "merged = pd.merge(pdf, enrich_df, on='StdGeographyID')\n",
    "cols = ['FIRE_YEAR', 'DISCOVERY_DOY', 'FIPS_CODE', 'FIRE_SIZE', 'x', 'y', 'MONTH', 'DAY_OF_WEEK', 'ARSON'] + analysis_variables\n",
    "mdf = merged[cols]\n",
    "\n",
    "mdf.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "m = gis.map('California')\n",
    "m "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 245,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "lyr = gis.content.import_data(enrich_df, title='Demographic Profile')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 248,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "m.content.add(lyr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "smm = m.content.renderers(0).smart_mapping()\n",
    "smm.class_breaks_renderer(break_type=\"color\", field=\"AVGHINC_CY\", classification_method=\"quantile\", num_classes=5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "### Fit Random Forest classifier and check accuracy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 240,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9212070907689571\n"
     ]
    }
   ],
   "source": [
    "X = mdf.drop(['ARSON'], axis=1).values\n",
    "y = mdf['ARSON'].values\n",
    "X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3, random_state=42)\n",
    "\n",
    "clf_rf = ske.RandomForestClassifier(n_estimators=200)\n",
    "clf_rf = clf_rf.fit(X_train, y_train)\n",
    "\n",
    "print(clf_rf.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "Summary: Given some basic data, available when a fire is first discovered, it is possible to predict with over 90% accuracy if the fire was the result of arson."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "hidden": true
   },
   "source": [
    "\n",
    "**Citations**\n",
    "\n",
    "Short, Karen C. 2017. Spatial wildfire occurrence data for the United States, 1992-2015 [FPA_FOD_20170508]. 4th Edition. Fort Collins, CO: Forest Service Research Data Archive. https://doi.org/10.2737/RDS-2013-0009.4"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "esriNotebookRuntime": {
   "notebookRuntimeName": "ArcGIS Notebook Python 3 Standard",
   "notebookRuntimeVersion": "5.0"
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.0"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": true,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
